-
Notifications
You must be signed in to change notification settings - Fork 15.9k
Add localstack Breeze integration
#54050
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add localstack Breeze integration
#54050
Conversation
localstack breeze integrationlocalstack Breeze integration
|
Very nice! good addition to Breeze! Few things:
cc: @vincbeck @ferruzzi @o-nikolas -> maybe you have some comments as well for that ? |
|
Thats cool @jason810496 very good start :) |
|
Nice. One nit here -- with the |
|
Nice! Could be a nice solution to test AWS resources indeed. Potentially, in the future, we could also use that to, say, run AWS system tests in Airflow CI |
Crossed my mind too :) |
|
I'm really excited to hear that LocalStack is being added to Breeze! That said, I've seen many setups in the industry that combine Breeze with MinIO. I was wondering — was there a specific reason for choosing LocalStack over MinIO in this case? Was LocalStack chosen because other AWS services needed to be tested as well, beyond just S3? |
|
@kyungjunleeme Minio is just S3 compatible storage right? Localstack has lots of other AWS services, including CloudWatch Logs etc. |
|
@ashb Yes, I totally agree — makes perfect sense :) |
Yes, Minio is just S3 compatible storage and Localstack is more than Minio.
LGTM for using Localstack as system test for AWS, as long as the Localstack is fully compatible ( as least will not show inconsistent behavior or introduce flakiness in the system test ). |
Yep. I think it won't be a "full" replacement - we'd likely have to skip some tests or add some workarounds, but for me that would be a very cool way to make System Tests for AWS run during the PRs. We were discussing ways how we can do it for Google - and apparently there is a https://cloud.google.com/sdk/gcloud/reference/beta/emulators - @VladaZakharova maybe that something that we could also leverage for Google System Tests ? |
7a6632c to
e76c24f
Compare
If this is the case, do you mean we should the |
I think settin I think the best way to make it works in breeze is to change it in if [[ ${INTEGRATION_LOCALSTACK} == "true" ]]; then
export AWS_ENDPOINT_URL=http://localstack:4566
fiThen everything started with |
4c6618b to
52d45df
Compare
potiuk
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice. Exactly this !
f77ec26 to
d1547c2
Compare
Backport failed to create: v3-0-test. View the failure log Run details
You can attempt to backport this manually by running: cherry_picker 84bd22c v3-0-testThis should apply the commit to the v3-0-test branch and leave the commit in conflict state marking After you have resolved the conflicts, you can continue the backport process by running: cherry_picker --continue |
* Add localstack breeze integration * Fix Breeze unit test * Disbale test for localstack and export envs * Add docs for Running External System Integrations with Breeze * Fix output-commands.svg
* Add localstack breeze integration * Fix Breeze unit test * Disbale test for localstack and export envs * Add docs for Running External System Integrations with Breeze * Fix output-commands.svg
* Add localstack breeze integration * Fix Breeze unit test * Disbale test for localstack and export envs * Add docs for Running External System Integrations with Breeze * Fix output-commands.svg
* Add localstack breeze integration * Fix Breeze unit test * Disbale test for localstack and export envs * Add docs for Running External System Integrations with Breeze * Fix output-commands.svg
* Add localstack breeze integration * Fix Breeze unit test * Disbale test for localstack and export envs * Add docs for Running External System Integrations with Breeze * Fix output-commands.svg
* Add localstack breeze integration * Fix Breeze unit test * Disbale test for localstack and export envs * Add docs for Running External System Integrations with Breeze * Fix output-commands.svg
* Add localstack breeze integration * Fix Breeze unit test * Disbale test for localstack and export envs * Add docs for Running External System Integrations with Breeze * Fix output-commands.svg
* Add localstack breeze integration * Fix Breeze unit test * Disbale test for localstack and export envs * Add docs for Running External System Integrations with Breeze * Fix output-commands.svg
* Add localstack breeze integration * Fix Breeze unit test * Disbale test for localstack and export envs * Add docs for Running External System Integrations with Breeze * Fix output-commands.svg
* Add localstack breeze integration * Fix Breeze unit test * Disbale test for localstack and export envs * Add docs for Running External System Integrations with Breeze * Fix output-commands.svg
* Add localstack breeze integration * Fix Breeze unit test * Disbale test for localstack and export envs * Add docs for Running External System Integrations with Breeze * Fix output-commands.svg
* Add localstack breeze integration * Fix Breeze unit test * Disbale test for localstack and export envs * Add docs for Running External System Integrations with Breeze * Fix output-commands.svg
* Add localstack breeze integration * Fix Breeze unit test * Disbale test for localstack and export envs * Add docs for Running External System Integrations with Breeze * Fix output-commands.svg
* Add localstack breeze integration * Fix Breeze unit test * Disbale test for localstack and export envs * Add docs for Running External System Integrations with Breeze * Fix output-commands.svg
* Add localstack breeze integration * Fix Breeze unit test * Disbale test for localstack and export envs * Add docs for Running External System Integrations with Breeze * Fix output-commands.svg
* Add localstack breeze integration * Fix Breeze unit test * Disbale test for localstack and export envs * Add docs for Running External System Integrations with Breeze * Fix output-commands.svg
* Add localstack breeze integration * Fix Breeze unit test * Disbale test for localstack and export envs * Add docs for Running External System Integrations with Breeze * Fix output-commands.svg
* Add localstack breeze integration * Fix Breeze unit test * Disbale test for localstack and export envs * Add docs for Running External System Integrations with Breeze * Fix output-commands.svg
* Add localstack breeze integration * Fix Breeze unit test * Disbale test for localstack and export envs * Add docs for Running External System Integrations with Breeze * Fix output-commands.svg
* Add localstack breeze integration * Fix Breeze unit test * Disbale test for localstack and export envs * Add docs for Running External System Integrations with Breeze * Fix output-commands.svg (cherry picked from commit 84bd22c)
* Add localstack breeze integration * Fix Breeze unit test * Disbale test for localstack and export envs * Add docs for Running External System Integrations with Breeze * Fix output-commands.svg (cherry picked from commit 84bd22c)
* Add localstack breeze integration * Fix Breeze unit test * Disbale test for localstack and export envs * Add docs for Running External System Integrations with Breeze * Fix output-commands.svg (cherry picked from commit 84bd22c)
* Add localstack breeze integration * Fix Breeze unit test * Disbale test for localstack and export envs * Add docs for Running External System Integrations with Breeze * Fix output-commands.svg (cherry picked from commit 84bd22c)
Why
As Ash suggested setting up AWS CloudWatch to test system behavior using LocalStack in #49470 (comment), we should provide an easy way to run LocalStack with Breeze.
What
Add
localstackto the Breeze--integrationflag to enable seamless setup of the Docker network for both Breeze and LocalStack.Then contributor can setup the following env in
files/airflow-breeze-config/environment_variables.envfor testing system behavior with localstack: